# Остаточные параметры и оператор расширения
## Остаточные параметры
Остаточные параметры могут быть обозначены через три точки ... Буквально это значит: «собери оставшиеся параметры и положи их в массив».

Можно собрать все параметры в массив 
<<<<<<< HEAD

    (...args) => {}    
Положить первые несколько параметров в переменные, а остальные – собрать в массив.

=======
 
    (...args) => {}    
Положить первые несколько параметров в переменные, а остальные – собрать в массив.
 
>>>>>>> 5dafbcc (добавлена информация о сокетах)
    (firstName, lastName, ...titles) => {
        // собирают последние параметры, поэтому вставляем в конец
    }
## Arguments
Массив, который содержит все аргументы функции, но применить методы массивов нельзя. У стрелочных функция нет this, а также arguments (получим аргументы внешней «нормальной» функции).

    function Name() {
        arguments[0];
        arguments.length
    }
## Оператор расширения
Когда оператор расширения используется при вызове функции, он «расширяет» перебираемый объект arr в список аргументов.
 
    let arr1 = [1, -2, 3, 4];
    let arr2 = [8, 3, -8, 1];

    alert(Math.max(1, ...arr1, 2, ...arr2, 25));    // комбинация с обычными значениями и несколькими операторами расширения
    let merged = [0, ...arr, 2, ...arr2];           // слияние массивов
